package com.yun.dz.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MyUtils {
    /**
     * 将日期字符串转换为日期对象[要求：日期字符串和模式串之间要一一对应]
     *
     * @param strDate    日期字符串
     * @param strPattern 日期字符串的模式串
     * @return 转换之后的日期对象
     */
    public static Date convertString2Date(String strDate, String strPattern) {
        // 默认返回值（根据业务逻辑取null还是取当前日期）
        Date date = null; // 取null为默认值
        //Date date = new Date(); // 取当前时间为默认值
        // 当日期字符串不为空时进行转换处理
        if (!strDate.isEmpty()) {
            // 判断是否给定了日期字符串的模式串
            strPattern = strPattern.isEmpty() ? "yyyy-MM-dd HH:mm:ss" : strPattern;
            // 创建日期格式化工具类的实例对象
            SimpleDateFormat sdf = new SimpleDateFormat(strPattern);
            try {
                // 将日期字符串转换为日期对象
                date = sdf.parse(strDate);
            } catch (ParseException e) {
                System.out.println("日期字符串转换为日期对象类型异常：" + e.getMessage());
            }
        }
        return date;
    }

    /**
     * 将日期对象转换为指定格式的格式化字符串
     *
     * @param date       被转化日期对象
     * @param strPattern 目标日期字符串的模式串
     * @return 转换之后的日期字符串
     */
    public static String convertDate2String(Date date, String strPattern) {
        // 默认返回值（根据业务逻辑取null还是取当前日期）
        String strDate = null;
        // 当日期字符串不为空时进行转换处理
        if (date != null) {
            // 判断是否给定了日期字符串的模式串
            strPattern = strPattern.isEmpty() ? "yyyy-MM-dd HH:mm:ss" : strPattern;
            // 创建日期格式化工具类的实例对象
            SimpleDateFormat sdf = new SimpleDateFormat(strPattern);
            // 格式化处理
            strDate = sdf.format(date);
        }
        return strDate;
    }
}
